'use strict'
//////////////////////////////////////////////////////////////////////////////
// 平台功能
// 主页业务相关方法整理为服务
// =====================
// liuyp 2018年11月28日15: 30: 04
//////////////////////////////////////////////////////////////////////////////
function $system ($rootScope, $ajax, $alert, $state) {
    // 框架配置信息
    $rootScope.app = {
        name: 'XianAngulr X_Renliyou',
        version: '3.2.1',
        color: {
            primary: '#7266ba', info: '#23b7e5', success: '#27c24c', warning: '#fad733',
            danger: '#f05050', light: '#e8eff0', dark: '#3a3f51', black: '#1c2b36'
        },
        settings: {
            headerFixed: true,
            asideFixed: true,
            asideFolded: false,
            container: false
        }
    }
    // 登录的用户信息
    $rootScope.userInfo = {
        Loginname: '某某某',
        Sex: '男',
        Powerlist: []
    }
    $ajax.sent({
        url: '/api/user/info',
        method: 'GET',// 默认get方式请求
        params: null
    }).then(
        function(res){
            var data = res.data
            $rootScope.userInfo.Loginname = data.username
            $rootScope.userInfo.Sex = data.sex
            $rootScope.userInfo.Powerlist = data.powerlist
            obj.closeLoading()
        },
        function(e){ $alert.error('读取用户信息失败') }
    )
    var obj = { }
    // 必须是读来用户数据以及页面loaded才能拉起幕布
    obj.closeLoading = function (){
        obj.closeLoading = function(){
            // 关闭全局遮挡loading
            $('.fullloading b').fadeOut(1e3,function(){
                $('.fullloading').hide()
            })
        }
    }
    // 退出登录
    obj.logout = $ajax.logout
    // 主体页面滚动到顶
    obj.goTopInPanel = function () {
        var doc = document.body.scrollTop? document.body : document.documentElement
        doc.scrollTop = 0
    }
    // rate表示缓动速率，默认是2
    obj.scrollTopInPanel = function (rate) {
        var doc = document.body.scrollTop? document.body : document.documentElement
        var scrollTop = doc.scrollTop
        var top = function () {
            scrollTop = scrollTop + (0 - scrollTop) / (rate || 2)
            if (scrollTop < 1) { doc.scrollTop = 0; return } // 临界判断，终止动画
            doc.scrollTop = scrollTop
            requestAnimationFrame(top) // 动画gogogo!
        }
        top()
    }
    // 退出登录确认框
    obj.logoutConfirm = function () {
        return new Promise((resolve, reject) => {
            $alert.confirm('您确定要退出么？', function(close){
                obj.logout().then(resolve, reject)
                close()
            })
        })
    }
    return obj
}
exports = module.exports = $system